/*     */ package com.kendoui.taglib.tabstrip;
/*     */ 
/*     */ import com.kendoui.taglib.ContentTag;
/*     */ import com.kendoui.taglib.TabStripTag;
/*     */ import com.kendoui.taglib.html.Img;
/*     */ import com.kendoui.taglib.html.Li;
/*     */ import com.kendoui.taglib.html.Span;
/*     */ import com.kendoui.taglib.html.Text;
/*     */ import com.kendoui.taglib.html.Ul;
/*     */ import java.io.IOException;
/*     */ import java.util.ArrayList;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ import javax.servlet.jsp.JspException;
/*     */ import javax.servlet.jsp.JspWriter;
/*     */ import javax.servlet.jsp.PageContext;
/*     */ 
/*     */ public class ItemsTag extends ContentTag
/*     */ {
/*     */   private List<Map<String, Object>> items;
/*     */ 
/*     */   public int doEndTag()
/*     */     throws JspException
/*     */   {
/*  26 */     TabStripTag parent = (TabStripTag)findParentWithClass(TabStripTag.class);
/*     */ 
/*  28 */     parent.setItems(this);
/*     */ 
/*  30 */     Ul ul = new Ul();
/*  31 */     StringBuilder contents = new StringBuilder();
/*  32 */     List contentUrls = new ArrayList();
/*     */ 
/*  34 */     for (Map item : this.items) {
/*  35 */       Li li = new Li();
/*     */ 
/*  37 */       addAttributes(li, item);
/*  38 */       renderContents(li, item);
/*     */ 
/*  40 */       contents.append(item.get("content"));
/*  41 */       contentUrls.add((String)item.get("contentUrl"));
/*     */ 
/*  43 */       ul.append(li);
/*     */     }
/*     */ 
/*  46 */     parent.setProperty("contentUrls", contentUrls);
/*     */     try
/*     */     {
/*  49 */       JspWriter out = this.pageContext.getOut();
/*     */ 
/*  51 */       ul.write(out);
/*     */ 
/*  53 */       out.write(contents.toString());
/*     */     }
/*     */     catch (IOException exception) {
/*  56 */       throw new JspException(exception);
/*     */     }
/*     */ 
/*  59 */     return super.doEndTag();
/*     */   }
/*     */ 
/*     */   private void renderContents(Li element, Map<String, Object> item) {
/*  63 */     String spriteCssClass = (String)item.get("spriteCssClass");
/*     */ 
/*  65 */     if ((spriteCssClass != null) && (spriteCssClass.trim().length() > 0)) {
/*  66 */       Span sprite = new Span();
/*  67 */       sprite.attr("class", new StringBuilder().append("k-sprite ").append(spriteCssClass).toString());
/*  68 */       element.append(sprite);
/*     */     }
/*     */ 
/*  71 */     String imageUrl = (String)item.get("imageUrl");
/*     */ 
/*  73 */     if ((imageUrl != null) && (imageUrl.trim().length() > 0)) {
/*  74 */       Img image = new Img();
/*  75 */       image.attr("class", "k-image");
/*  76 */       image.attr("alt", "");
/*  77 */       image.attr("src", imageUrl);
/*  78 */       element.append(image);
/*     */     }
/*     */ 
/*  81 */     element.append(new Text((String)item.get("text")));
/*     */   }
/*     */ 
/*     */   private void addAttributes(Li element, Map<String, Object> item) {
/*  85 */     if ((isSet("expanded")) && (((Boolean)item.get("expanded")).booleanValue())) {
/*  86 */       element.attr("data-expanded", "true");
/*     */     }
/*     */ 
/*  89 */     if ((isSet("enabled")) && (!((Boolean)item.get("enabled")).booleanValue())) {
/*  90 */       element.attr("disabled", "disabled");
/*     */     }
/*     */ 
/*  93 */     Object selected = item.get("selected");
/*     */ 
/*  95 */     if ((selected != null) && (((Boolean)selected).booleanValue()))
/*  96 */       element.attr("class", "k-state-active");
/*     */   }
/*     */ 
/*     */   public void initialize()
/*     */   {
/* 104 */     this.items = new ArrayList();
/*     */ 
/* 108 */     super.initialize();
/*     */   }
/*     */ 
/*     */   public void destroy()
/*     */   {
/* 115 */     this.items = null;
/*     */ 
/* 118 */     super.destroy();
/*     */   }
/*     */ 
/*     */   public List<Map<String, Object>> items()
/*     */   {
/* 126 */     return this.items;
/*     */   }
/*     */ 
/*     */   public static String tagName() {
/* 130 */     return "tabStrip-items";
/*     */   }
/*     */ 
/*     */   public void addItem(ItemTag value) {
/* 134 */     this.items.add(value.properties());
/*     */   }
/*     */ }

/* Location:           D:\Liao\kendoui.jsp.2013.1.319.trial\wrappers\jsp\kendo-taglib\kendo-taglib-2013.1.319.jar
 * Qualified Name:     com.kendoui.taglib.tabstrip.ItemsTag
 * JD-Core Version:    0.6.2
 */